import { ExamQuestionsForm } from '../examQuestions/types';
import { QuestionsVO } from '../questions/types';

export interface ExamsVO {
  /**
   * 考试ID，主键
   */
  examId: string | number;

  /**
   * 考试标题
   */
  title: string;

  /**
   * 考试描述
   */
  description: string;

  /**
   * 开始时间
   */
  startTime: string;

  /**
   * 结束时间
   */
  endTime: string;

  /**
   * 考试时长（分钟）
   */
  duration: number;

  /**
   * 总分值
   */
  totalScore: number;

  /**
   * 及格分数
   */
  passScore: number;

  /**
   * 状态：0-禁用，1-启用
   */
  status: number;

  /**
   * 题目数量
   */
  questionCount?: number;

  /**
   * 问题列表
   */
  questions : QuestionsVO[];
}

export interface ExamsForm extends BaseEntity {
  /**
   * 考试ID，主键
   */
  examId?: string | number;

  /**
   * 考试标题
   */
  title?: string;

  /**
   * 考试描述
   */
  description?: string;

  /**
   * 开始时间
   */
  startTime?: string;

  /**
   * 结束时间
   */
  endTime?: string;

  /**
   * 考试时长（分钟）
   */
  duration?: number;

  /**
   * 总分值
   */
  totalScore?: number;

  /**
   * 及格分数
   */
  passScore?: number;

  /**
   * 状态：0-禁用，1-启用
   */
  status?: number;

  /**
   * 题目数量
   */
  questionCount?: number;

  /**
   * 考试题目关联列表
   */
  examQuestions?: ExamQuestionsForm[];
}

export interface ExamsQuery extends PageQuery {
  /**
   * 考试标题
   */
  title?: string;

  /**
   * 考试描述
   */
  description?: string;

  /**
   * 开始时间
   */
  startTime?: string;

  /**
   * 结束时间
   */
  endTime?: string;

  /**
   * 考试时长（分钟）
   */
  duration?: number;

  /**
   * 总分值
   */
  totalScore?: number;

  /**
   * 及格分数
   */
  passScore?: number;

  /**
   * 状态：0-禁用，1-启用
   */
  status?: number;

  /**
   * 题目数量
   */
  questionCount?: number;

  /**
   * 日期范围参数
   */
  params?: any;
}
